home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs17.d81
/
wzrdsvlt.prg
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
3KB
|
67 lines
10 IFPEEK(53280)=251THEN100
20 POKE53280,0:PRINT"[147]READING DATA.....":POKE56334,0:POKE1,51
30 FORX=12288TO12759:POKEX,PEEK(X+40960):NEXT:POKE1,55:POKE56334,1:POKE53272,28
40 FORX=13552TO13575:READY:POKEX,Y:NEXT
50 FORX=54272TO54292:READY:POKEX,Y:NEXT:POKE54296,15:DIMR(10),W(23),C(3)
60 FORX=0TO10:READR(X):NEXT
70 FORX=0TO23:READY:W(X)=Y:NEXT
80 C(1)=7:C(2)=8:C(3)=2
90 DATA24,25,1,85,89,125,125,253
91 DATA8,63,72,62,9,126,8,0
92 DATA63,63,255,255,255,255,252,252
93 DATA255,255,0,0,128,0,0
94 DATA255,230,0,0,32,9,9
95 DATA10,3,0,0,16,9,9
96 DATA0,0,1,0,0,0,-1,0,40,-40,0
97 DATA-1,-40,1,40,-2,-41,-80,-39,2
98 DATA41,80,39,-3,-42,-81,-120,-79
99 DATA-38,3,42,81,120,79,38
100 PRINT"[147]"TAB(12);:POKE53281,0
110 PRINT"WIZARD'S VAULT"
120 PRINTTAB(10)"PRESS FIRE TO START"
130 FORX=1TO13:POKE1364+(X*40)-X,160
140 POKE1364+(X*40)+X-2,160:POKE1882+X,160:POKE1884-X,160:POKE56155+X,7
150 POKE56156-X,7:POKE55636+(X*40)+X-2,7:POKE55636+(X*40)-X,7:NEXT
160 PRINT""
170 PRINTTAB(13)"__[145]__[145]_________"
180 PRINTTAB(15)"_______[145]__":PRINTTAB(18)"[154][145][145]+[145]++":PRINTTAB(19)"+[145][157]^"
190 PRINTTAB(8)"BY: RAY LABOOT,APRIL'87"
200 J=PEEK(56320):IFJ<>111THEN200
210 SC=0:L=1:RN=0:PR=0.27
220 PO=1524:GD=0:HL$="[156]":P=0:GS=10
230 PRINT"[147]":POKE53280,11:FORX=1TO24:POKE1024+X*40,160:POKE1023+(X*40),160
240 POKE55296+X*40,12:POKE55295+(X*40),12:NEXT:FORX=0TO39:POKE1024+X,160
250 POKE55296+X,12:POKE1104+X,160:POKE55376+X,12:POKE1984+X,160:POKE56256+X,12
260 NEXT:CN=0
270 PRINTTAB(15)"GET READY![157][157][157][157][157][157][157][157][157][157]LEVEL:";L:FORX=0TO1000:NEXT
280 PRINTTAB(15)"[145][145] [157][157][157][157][157][157][157][157][157][157] "
290 J=(PEEK(56320)AND15)-5:D=R(J)
300 PRINT"SCORE:[129]";SC:P=P+PR:PW=INT(P):PRINT""TAB(15)"[158]POWER:[153]";PW
310 PRINT""TAB(27)"[154]GOLD:";HL$;GD
320 IFPEEK(PO+D)=160THEND=0
330 POKEPO,32:PO=PO+D
340 IFPEEK(PO)=159THENGD=GD+1:SC=SC+GS:POKE54283,16:POKE54283,17
350 POKEPO,158:POKE54272+PO,13
360 G=INT(RND(1)*839+120):IFPEEK(1024+G)<>160THENPOKE1024+G,159:POKE55296+G,7
370 W=INT(RND(RN)*839)+120:POKE1024+W,160:POKE55296+W,1:POKE54276,128
380 POKE54276,129:POKE55296+W,11
390 IFPW=>200ANDGD=>150THENGOTO500:REM 200=MAXIMUM WIZARD POWER
400 IFPW=>200ANDGD<150THENGOTO580:REM 150=MINIMUM GOLD REQUIRED
410 IFGD=150THENHL$="[158]":GS=20:REM GS=GOLD'S POINT VALUE
420 GOTO290
500 FORX=1TO3:FORY=1TOX*4:IF54272+PO+W(CN)>56256THENCN=CN+1:NEXT:NEXT
510 IFX<4THENPOKE54272+PO+W(CN),C(X):CN=CN+1:NEXT:NEXT
520 FORX=0TO23:IFPO+W(X)>1984THENNEXT
530 IFX<24THENPOKEPO+W(X),159:NEXT
540 L=L+1:IFL>2THENRN=1:PR=PR+L/40:REM L>2=LEVEL AFTER WHICH WALLS TURN *RANDOM*
541 REM PR IS TIME LIMIT *SPEED*
550 FORX=0TO25:POKE54276,17:POKE54276,32:NEXT
560 FORX=0TO1000:NEXT:CN=0:SC=SC+L*500
570 GOTO220
580 FORX=0TO23:IFPO+W(X)>1984THENNEXT
590 IFX<24THENPOKEPO+W(X),160:POKE54272+PO+W(X),11:NEXT
600 PRINT""TAB(14)"[152] ":PRINTTAB(14)"[152] [146]GAME OVER[152] [146]"
610 PRINTTAB(14)" "
620 POKE54290,32:POKE54290,33
630 FORX=0TO25:POKE54290,17:POKE54290,32:NEXT:FORX=0TO3000:NEXT:GOTO100